package com.vhuomai.product.service;

import com.vhuomai.mybatis.mapper.page.Page;
import com.vhuomai.mybatis.mapper.page.PageRequest;
import com.vhuomai.product.dto.ProductBasic;
import com.vhuomai.product.dto.ProductSku;
import com.vhuomai.product.dto.SpuItemEdit;
import com.vhuomai.product.entity.BaseProduct;
import com.vhuomai.product.entity.BaseSku;

import java.util.List;
import java.util.Map;

/**
 * @author harris
 */
public interface ProductService {

    Page<BaseProduct> findProducts(PageRequest request);
    
    ProductBasic findBaseById(int productId);
    
    BaseProduct findSimpleById(int productId);

    BaseProduct addProduct(ProductBasic product);

    void updateProduct(ProductBasic product);

    void removeProduct(int productId);

    List<SpuItemEdit> findSpuValues(int productId);

    void updateSpuValues(int productId, Map<Integer, String> items);

    ProductSku findSku(int productId);

    void updateSku(BaseSku sku);

    List<BaseProduct> findHomeProducts();
}
